home *** CD-ROM | disk | FTP | other *** search
/ Brotikasten / BROTCD01.iso / lern / lern451.d64 / program lister (.txt) < prev    next >
Commodore BASIC  |  1995-08-09  |  3KB  |  105 lines

  1. 5 POKE53281,1
  2. 10 PRINT"[152][147]         UNIVERSAL LISTER":PRINT""
  3. 15 PRINT"             COMMODORE 64":FORT=1TO2000:NEXTT
  4. 16 REM COMPUTE DEC 82
  5. 100 DATA19,147,17,145,29,157,18,146,20,148,141,32
  6. 110 REM80-COLUMN CURSOR STUFF
  7. 120 DATA7,21,149,22,150,14,142,25,153
  8. 130 DATA15,143
  9. 140 REM VIC STUFF
  10. 150 DATA144,5,28,159,156,30,31,158
  11. 160 DATA8,9,133,137,134,138,135,139,136,140
  12. 170 DATAHOME,CLEAR,DOWN,UP,RIGHT,LEFT,RVS,RVOFF,DEL,INST,RETURN,SPACE
  13. 180 DATABELL,D.LINE,I.LINE,ER.BEGIN,ER.END,TEXT,GRAPHIC,SCROLL.UP,SCROLL.DOWN
  14. 190 DATATOP,BOTTOM
  15. 200 DATABLACK,WHITE,RED,CYAN,MAGENTA,GREEN,BLUE,YELLOW
  16. 210 DATALOCK,UNLOCK,F1,F2,F3,F4,F5,F6,F7,F8
  17. 220 DIMA(40),A$(40),K$(90)
  18. 230 FORJ=0TO40:READA(J):NEXTJ
  19. 240 FORJ=0TO40:READA$(J):NEXTJ
  20. 250 DATAEND,FOR,NEXT,DATA,INPUT#,INPUT,DIM,READ,LET,GOTO,RUN,IF,RESTORE,GOSUB
  21. 260 DATARETURN,REM,STOP,ON,WAIT,LOAD,SAVE,VERIFY,DEF,POKE,PRINT#,PRINT,CONT
  22. 270 DATALIST,CLR,CMD,SYS,OPEN,CLOSE,GET,NEW,TAB(,TO,FN,SPC(,THEN,NOT,STEP
  23. 280 DATA+,-,*,/,^,AND,OR,>,=,<,SGN,INT,ABS,USR,FRE,POS,SQR,RND,LOG,EXP,COS
  24. 290 DATASIN,TAN,ATN,PEEK,LEN,STR$,VAL,ASC,CHR$,LEFT$,RIGHT$,MID$,GO,CONCAT
  25. 300 DATADOPEN,DCLOSE,RECORD,HEADER,COLLECT,BACKUP,COPY,APPEND,DSAVE,CATALOG
  26. 310 DATARENAME,SCRATCH,DIRECTORY
  27. 320 FORJ=0TO89:READK$(J):NEXTJ
  28. 400 CLOSE1:INPUT"NAME OF PROGRAM FILE";G$
  29. 410 OPEN1,8,3,G$+",P,R"
  30. 420 GET#1,A$,B$
  31. 430 IFA$<>CHR$(1)ANDA$<>""GOTO400
  32. 440 IFA$=""THENA$=CHR$(1):GET#1,X$
  33. 450 INPUT"LINE NUMBER RANGE  -[157][157][157]";Z$
  34. 460 L0=0:L1=0:L2=1E9
  35. 470 FORJ=1TOLEN(Z$):Y$=MID$(Z$,J,1)
  36. 480 Y=ASC(Y$):IFY>=48ANDY<=57GOTO510
  37. 490 IFY=32GOTO510
  38. 500 L0=J:IFY<>45GOTO600
  39. 510 NEXTJ
  40. 520 IFL0<LEN(Z$)THENL2=VAL(MID$(Z$,L0+1)):IFL2=0THENL2=1E9
  41. 530 IFL0>1THENL1=VAL(Z$)
  42. 540 IFL0=0THENL1=L2
  43. 600 P3$="[":P4$="]":INPUT"LIST TO PRINTER  N[157][157][157]";Z$
  44. 610 P=3:IFASC(Z$)=89THENP=4:L$="":P3$=CHR$(219):P4$=CHR$(221)
  45. 620 P1$="[":P2$="]":INPUT"GRAPHICS OR TEXT  G[157][157][157]";Z$
  46. 630 PRINTCHR$(142):IFASC(Z$)=84THENPRINTCHR$(14):M$=L$:P1$=P3$:P2$=P4$
  47. 640 INPUT"TRANSLATE CURSOR MOVES  [157][157][157]";Z$
  48. 650 IFASC(Z$)=89THENT7=1
  49. 660 OPEN4,P:F$=P1$
  50. 670 J=80:IFP<>3GOTO690
  51. 680 PRINT"[147]":PRINT"++++++++++++":FORJ=1TO81:IFPEEK(1024+J)=32THENNEXTJ
  52. 690 L9=40:PRINT#4,"PROGRAM:  ";G$
  53. 700 REMNEW LINE
  54. 710 GOSUB2010:Q=0:T1=1:C1=-1:GET#1,A$,B$:IFST<>0GOTO3000
  55. 720 IFB$=""GOTO3000
  56. 730 GET#1,A$,B$
  57. 740 L=ASC(A$+CHR$(0))+ASC(B$+CHR$(0))*256
  58. 750 IFL<L1GOTO1080
  59. 760 IFL>L2GOTO3000
  60. 770 F2=1:PRINT#4,M$;P$:P$=STR$(L)+" "
  61. 800 REM START TEXT HERE
  62. 810 GET#1,A$:IFA$=""GOTO710
  63. 820 T=0:A=ASC(A$):IFA=32ANDF$=","GOTO840
  64. 830 IFQ=0OR(AAND127)>31ORT7=0GOTO900
  65. 840 FORJ=0TO40:IFA=A(J)THENB$=A$(J):GOTO860
  66. 850 NEXTJ:GOTO1000
  67. 860 IFB$=B1$THENB=B+1:GOTO810
  68. 870 IFB>0THENA$=MID$(STR$(B+1),2)+F$+B$:GOTO890
  69. 880 A$=F$+B$
  70. 890 B=0:B1$=B$:F$=",":F1=1:GOTO1010
  71. 900 A=A-128:IFA<0ORQ<>0GOTO1000
  72. 910 IFA=127THENA$="":GOTO1000
  73. 920 T=1:A$=K$(A)
  74. 930 IFA=15THENQ=2
  75. 1000 GOSUB2010
  76. 1010 IFA$=CHR$(34)THENQ=1-Q
  77. 1020 REM C=-1 FOR ALPHANUMERIC
  78. 1030 C=ASC(LEFT$(A$,1)):C=(C<48ORC>57)AND(C<65ORC>90)
  79. 1040 IFT<>T1ORT=1THENT1=T:IFNOTCANDNOTC1THENP$=P$+" ":GOSUB2500
  80. 1050 C=ASC(RIGHT$(A$,1)):C1=((C<48ORC>57)AND(C<65ORC>90))ORA=37
  81. 1060 P$=P$+A$:GOSUB2500
  82. 1070 GOTO810
  83. 1080 REM SKIP TO NEXT LINE
  84. 1090 GET#1,A$:IFA$=""GOTO710
  85. 1100 GOTO1090
  86. 2000 REM CLOSE OFF CURSOR EXPRESSION
  87. 2010 IFF1=0GOTO2040
  88. 2020 IFB>0THENP$=P$+MID$(STR$(B+1),2):GOSUB2500
  89. 2030 B=0:F1=0:B1$="":P$=P$+P2$:GOSUB2500:F$=P1$
  90. 2040 RETURN
  91. 2500 IFLEN(P$)<L9GOTO2600
  92. 2510 FORJ=L9TOL9*.6STEP-1
  93. 2520 IFMID$(P$,J,1)=":"GOTO2580
  94. 2530 NEXTJ:FORJ=L9-1TOL9*.6-1STEP-1
  95. 2540 P=ASC(MID$(P$,J))
  96. 2550 IFP=91GOTO2580
  97. 2560 IFP=59ORP=44ORP=93THENJ=J+1:GOTO2580
  98. 2570 NEXTJ:J=L9-1
  99. 2580 PRINT#4,M$;LEFT$(P$,J-1)
  100. 2590 P$="    "+MID$(P$,J)
  101. 2600 RETURN
  102. 3000 IFLEN(P$)>0THENF2=1:PRINT#4,M$;P$
  103. 3010 IFF2=0THENPRINT"** NO LINES FOUND **"
  104. 3020 CLOSE1:GOSUB2000:CLOSE4
  105.